/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package InterfaceGUI;

import data.*;
//import datenbank.kalendereintragMapper;
import java.text.ParseException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Container.*;
import java.rmi.Naming;
import javax.swing.text.MaskFormatter;
import java.rmi.RemoteException;
import java.net.MalformedURLException;
import java.rmi.NotBoundException;
import java.util.Vector;


public class kalenderUebersicht {

JButton ok;
JButton abbrechen;
JFrame frame;
JLabel uebersichtlabel;
JComboBox kalender;
String Vorname;
String Titel;
String Name;
String Anrede;
int ID;



public static void main(String[] args) {
        kalenderUebersicht gui = new kalenderUebersicht();
        gui.kalenderUebersicht();
        }


public void kalenderUebersicht(){

frame = new JFrame("Kalender Übersicht");

JPanel uebersichtPanel = new JPanel();

GridBagLayout gbl = new GridBagLayout();

uebersichtPanel.setLayout(gbl);

GridBagConstraints constraints = new GridBagConstraints();

uebersichtlabel = new JLabel("Bitte wählen Sie einen gewünschten Kalender:");
uebersichtlabel.setFont(new Font("Arial",18,18));

constraints.insets = new Insets( 16,16,16,16 );
constraints.anchor = GridBagConstraints.WEST;
constraints.gridwidth = GridBagConstraints.REMAINDER;
constraints.weightx = 0;
uebersichtPanel.add(uebersichtlabel, constraints);


//try {
//    // Zunächst benötigen wir eine Verbindung mit der Verwaltung.
//    Verwaltung verwaltung =
//        (Verwaltung)Naming.lookup("rmi:/localhost:1099/DRM");
//
//
//    Vector<kalendereintrag> ergebnis1 = verwaltung.getAll_kalendereintrag();
//    Vector inhalte = new Vector();
//
//    //Hier wird dem Vector 'inhalte' das Objekt kalendereintrag mit den Elementen Titel, Vorname und Name
//    //übergeben und der Combobox 'kalendereintrag' hinzugefügt
//    for ( kalendereintrag test : ergebnis1 ) {
//        if (test != null ) {
//            //Es wird überprüft ob die kalendereintrag einen Titel besitzt. Trifft dies nicht zu wird dieser
//            //in der Combobox weggelassen.
//            if (test.get_titel().equals("no title")) {
//                inhalte.add(test.get_vorname() + "  " + test.get_name());
//            }
//            else
//                inhalte.add(test.get_titel()+ ". " + test.get_vorname() + "  " + test.get_name());
//        }
//    }
//
    kalender = new JComboBox();
    //kalendereintrag = new JComboBox();
    Dimension groesseSammelwerk = new Dimension(300, 25);
    kalender.setPreferredSize(groesseSammelwerk);
    constraints.gridwidth = GridBagConstraints.REMAINDER;
    constraints.weightx = 1;
    constraints.fill = GridBagConstraints.NONE;
    uebersichtPanel.add(kalender, constraints);
//
//    }
//    catch (MalformedURLException murle) {
//            System.out.println("MalformedURLException");
//            System.out.println(murle);
//    }
//    catch (RemoteException re) {
//            System.out.println("RemoteException");
//            System.out.println(re);
//    }
//    catch (NotBoundException e) {
//            System.out.println("NotBoundException");
//            System.out.println(e);
//    }
//    catch (NullPointerException np) {
//            System.out.println("NullPointerException");
//            System.out.println(np);
//    }

ok = new JButton("OK");
constraints.insets = new Insets( 56,16,0,0 );
constraints.gridwidth = 1;
constraints.weightx = 0;
constraints.weighty = 0;
constraints.fill = GridBagConstraints.NONE;
uebersichtPanel.add(ok, constraints);
ok.addActionListener(new okListener());

abbrechen = new JButton("abbrechen");
constraints.gridwidth = GridBagConstraints.REMAINDER;
constraints.weightx = 0;
constraints.weighty = 0;
constraints.fill = GridBagConstraints.NONE;
uebersichtPanel.add(abbrechen, constraints);
abbrechen.addActionListener(new abbrechenListener());

frame.getContentPane().add(uebersichtPanel);

//die Groeße des frames wird festgelegt
frame.setSize(450, 350);

frame.setResizable(false);

//der frame wird sichtbar gemacht
frame.setVisible(true);

}


class okListener implements ActionListener{

   public void actionPerformed(ActionEvent event){
//
//      String ausgewaehltekalendereintrag = (String)kalendereintrag.getSelectedItem();
//
//      int antwort = JOptionPane.showConfirmDialog(frame, "Wollen Sie ''" + ausgewaehltekalendereintrag + "'' uebersicht?",
//      "", JOptionPane.YES_NO_OPTION);
//      if (antwort == JOptionPane.YES_OPTION) {
//
//
//              try {
//                        // Zunächst benötigen wir eine Verbindung mit der Verwaltung.
//                        Verwaltung verwaltung =
//                                (Verwaltung)Naming.lookup("rmi:/localhost:1099/DRM");
//
//                        /*
//                         * Wenn wir hier ankommen, dann besteht eine Verbinung zum Server.
//                         * Wäre die Verbindung nicht zustande gekommen, so wäre eine Exception
//                         * ausgeworfen worden und das Programm wäre in den entsprechenden
//                         * Catch-Block (s.u.) gesprungen.
//                         */
//                        System.out.println("Verbindung hergestellt...");
//
//                        Vector<kalendereintrag> ergebnis1 = verwaltung.getAll_kalendereintrag();
//                        Vector inhalte = new Vector();
//
//                        //Hier wird Jedes Objekt des Vectors auf ggf. Titel, Name, Vorname überprüft und mit dem
//                        //zuvor ausgelesenen String der Combobox verglichen. Wird die entsprechende kalendereintrag
//                        //der Combobox gefunden wird von dieser die ID ausgelesen.
//                        for ( kalendereintrag test : ergebnis1 ) {
//                            if (test != null ) {
//                                String NameOhneTitel  = test.get_vorname() + "  " + test.get_name();
//                                String NameMitTitel = test.get_titel()+ ". " + test.get_vorname() + "  " + test.get_name();
//                                if (NameOhneTitel.equals(ausgewaehltekalendereintrag) || NameMitTitel.equals(ausgewaehltekalendereintrag) ) {
//                                    int kalendereintragID = test.get_kalendereintrag_id();
//
//                                    // Hier werden die Daten der entsprechende kalendereintrag aus der DB gewählt. Selektiert werden diese
//                                    // anhand der davor festgestellten ID.
//                                    kalendereintrag pe = verwaltung.findbyid_kalendereintrag(kalendereintragID);
//                                    Anrede = pe.get_anrede();
//                                    Name = pe.get_name();
//                                    ID = pe.get_kalendereintrag_id();
//                                    Titel= pe.get_titel();
//                                    Vorname = pe.get_vorname();
//                                    System.out.println(ID + Titel + Anrede + Vorname + Name );
//                                    break;
//
//                                    //Es wird die enstprechende Maske der kalendereintrag aufgerufen um die Daten zu ändern oder aktualisieren
//
//                                }
//                            }
//                        }
//
//                       kalendereintragAktualisieren PeEd = new kalendereintragAktualisieren();
//                       PeEd.kalendereintragAktualisieren();
//                       PeEd.nachnameField.setText(Name);
//                       PeEd.vornameField.setText(Vorname);
//                       PeEd.titelField.setText(Titel);
//                       PeEd.anrede.addItem(Anrede);
//
//                       PeEd.idField.setText(ID+"");
//
//                }
//                catch (MalformedURLException murle) {
//                        System.out.println("MalformedURLException");
//                        System.out.println(murle);
//                }
//                catch (RemoteException re) {
//                        System.out.println("RemoteException");
//                        System.out.println(re);
//                }
//                catch (NotBoundException e) {
//                        System.out.println("NotBoundException");
//                        System.out.println(e);
//                }
//                catch (NullPointerException np) {
//                        System.out.println("NullPointerException");
//                        System.out.println(np);
//                }
//
////          JOptionPane.showMessageDialog(frame,"kalendereintrag angelegt!");
////          frame.setVisible(false);fgfgfggf
//      }
//
//      else if (antwort == JOptionPane.NO_OPTION)
//      frame.setVisible(false);
}
}


class abbrechenListener implements ActionListener{

     public void actionPerformed(ActionEvent event){

      int antwort = JOptionPane.showConfirmDialog(frame, "Wollen Sie den Vorgang wirklich beenden?",
      "", JOptionPane.YES_NO_OPTION);
      if (antwort == JOptionPane.YES_OPTION)
      frame.setVisible(false);
    }
}
}



